package org.dromara.common.social.config;

import me.zhyd.oauth.cache.AuthStateCache;
import org.dromara.common.social.config.properties.SocialProperties;
import org.dromara.common.social.utils.AuthRedisStateCache;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;


/**
 * @Author 刘武贵
 * @Date 2024/8/15 22:00
 * @Description 功能描述：Social 配置属性
 */
@AutoConfiguration
// 启用SocialProperties配置属性
@EnableConfigurationProperties(SocialProperties.class)
public class SocialAutoConfiguration {

    /**
     * 定义一个认证状态缓存的Bean
     * 该方法用于创建并返回一个基于Redis的认证状态缓存实例
     *
     * @return AuthStateCache 返回一个AuthRedisStateCache实例，用于存储和检索认证状态
     */
    @Bean
    public AuthStateCache authStateCache() {
        return new AuthRedisStateCache();
    }

}
